你在打電腦時,是否想過,為什麼你按一個鍵,螢幕上就會跑出東西來?
又或者你剛剛學過程式語言,是否曾疑問過,為什麼照各個語言規則打幾行程式碼,就能跑出加減乘除,甚至還能印在終端機上?
還是你懂了一些數位電路設計,懂了一些cpu原理與構造,甚至用verilog刻了一個極簡cpu(pipeline程度,甚至還沒有中斷服務?),然後開始思考,電腦的cpu真的是這世界的產物嗎?怎麼能做到讓那麼多程式跑來跑去還不打結,查了一下後,發覺作業系統也不像這世界產物。這時,也許你會如我頓悟,也許疑惑的源頭,我,才是問題根源
為了讓自己不再心煩意亂,我決定從根源解決問題!為此,決定展開這30天的旅程!
在真正開始吃主餐前(作業系統,cpu的深入理解),我們需要先大概略覽一些小知識做預備!
接下來我們就可以來一起初步學習真實世界本來面貌了!包括bootloader,process,memory management,exception,interrupt,system call...
其間我們可能會接觸主要以下神作:
世界曾經於我就像個黑盒子,迷迷糊糊的學習怎麼用電腦,怎麼用應用程式,學習一個又一個程式語言,直至覺得真的受不了,想睜大眼仔細看看這個盒子裡到底藏著什麼東西,我到底是跟什麼東西天天為伍。
學習的過程,真有種重新活過來的感覺,然後發覺原來世界上有這麼多熱心厲害且無私的人,將這些魔法帶到這世界,覺得十分感動與幸福,原來這句"世界不是缺少美,而是缺少發現"不是為了讓作文高分而存在的。
雖然不知道自己能走得多遠,但能確定的是,對我來說,每步都是珍貴而美麗的足跡~